A dictionary is responsible for finding words that match a prespecified pattern. Each dictionary is tied to a .xdict file that contains both words and index information. The index allows fast retrieval of words that have a specific letter pattern: for example, all five letter words that have a "c" in the third position.
The index is embedded as links in the word lists. Each word that matches a pattern is followed by a link to the next word that matches that same pattern. Here is an example entry for the word "hound":
hound 30 72 -1 146 15
The next word with pattern "h-----" is #30, the next one with pattern "-o----" is #72, etc. The -1 in the third position indicates that "hound" is the last word that matches "--u--." An index table stores the first word in the list that matches each pattern, as well as giving the total number of words that match it.